-
Notifications
You must be signed in to change notification settings - Fork 41
#645: [UI] added terminology #658
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: gh-pages
Are you sure you want to change the base?
Conversation
| A <dfn data-lt="shacl Renderer">SHACL Renderer</dfn> is a piece of software that processes SHACL | ||
| <a>shapes</a> and data to dynamically generate a form. A UI that represents the data is generated from one | ||
| or more <a>node UI components</a>. The SHACL renderer may add additional UI elements, such as a submit | ||
| button to save changes, a button to toggle between edit and view mode, selectors for <a>focus node</a> and | ||
| <a>node shape</a>, or messages from the <a>validation report</a>. | ||
|
|
||
| Further functionality the SHACL renderer may provide: | ||
| <ul> | ||
| <li>State management for the mode (edit/view) and changes</li> | ||
| <li>Managing widgets and widget selection logic</li> | ||
| <li>The target selection logic</li> | ||
| <li>Communication with the persistence layer</li> | ||
| </ul> | ||
|
|
||
| The inputs: | ||
| <ul> | ||
| <li><a>Focus node</a> IRI (optional, some implementations may provide a logic or UI to determine the root | ||
| node)</li> | ||
| <li><a>Node shape</a> IRI (optional, some implementations may provide a logic or UI to determine a | ||
| matching shape)</li> | ||
| <li><a>Data graph</a></li> | ||
| <li><a>Shapes graph</a></li> | ||
| </ul> | ||
|
|
||
| If both the focus node and node shape are provided, the SHACL renderer operates in manual mode. Otherwise, | ||
| when logic is applied to determine one or both values, it operates in automatic mode. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| A <dfn data-lt="shacl Renderer">SHACL Renderer</dfn> is a piece of software that processes SHACL | |
| <a>shapes</a> and data to dynamically generate a form. A UI that represents the data is generated from one | |
| or more <a>node UI components</a>. The SHACL renderer may add additional UI elements, such as a submit | |
| button to save changes, a button to toggle between edit and view mode, selectors for <a>focus node</a> and | |
| <a>node shape</a>, or messages from the <a>validation report</a>. | |
| Further functionality the SHACL renderer may provide: | |
| <ul> | |
| <li>State management for the mode (edit/view) and changes</li> | |
| <li>Managing widgets and widget selection logic</li> | |
| <li>The target selection logic</li> | |
| <li>Communication with the persistence layer</li> | |
| </ul> | |
| The inputs: | |
| <ul> | |
| <li><a>Focus node</a> IRI (optional, some implementations may provide a logic or UI to determine the root | |
| node)</li> | |
| <li><a>Node shape</a> IRI (optional, some implementations may provide a logic or UI to determine a | |
| matching shape)</li> | |
| <li><a>Data graph</a></li> | |
| <li><a>Shapes graph</a></li> | |
| </ul> | |
| If both the focus node and node shape are provided, the SHACL renderer operates in manual mode. Otherwise, | |
| when logic is applied to determine one or both values, it operates in automatic mode. | |
| A <dfn data-lt="shacl Renderer">SHACL Renderer</dfn> is software that processes SHACL | |
| <a>shapes</a> and data and dynamically generates a user-interface using one | |
| or more <a>node UI components</a>. Implementations may add supplementary UI elements, such as a submit | |
| button to save changes, controls to toggle between edit and view modes, selectors for <a>focus node</a> and | |
| <a>node shape</a>, or visualizations of <a>validation report</a> messages. | |
| They may also provide: | |
| <ul> | |
| <li>State management for editing, viewing, and tracking data changes</li> | |
| <li>Widget management, including widget selection strategies</li> | |
| <li>Logic for determining the initial focus node (target) and the best suited node shape</li> | |
| <li>A communication protocol for interacting with a persistence service</li> | |
| </ul> | |
| A SHACL Renderer operates on a <a>data graph</a> and a <a>shapes graph</a>, and may also take a | |
| <a>focus node</a> and a <a>node shape</a>. When all four inputs are provided, the renderer | |
| operates in <strong>manual mode</strong>. When the focus node or node shape is not provided, | |
| the renderer may operate in <strong>automatic mode</strong>, in which case the application determines | |
| appropriate values for the missing inputs. |
Note: I've removed the use of form in the opening sentence since technically SHACL Renderers can produce non-form related user-interfaces.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@edmondchuc Maybe replace
A communication protocol for interacting with a persistence service
with
An interface to interact with the data layer
Otherwise, the suggestion looks good to me, and with the change, we could apply the suggestion.
Co-authored-by: Edmond Chuc <37032744+edmondchuc@users.noreply.github.com>
Co-authored-by: Edmond Chuc <37032744+edmondchuc@users.noreply.github.com>
Co-authored-by: Edmond Chuc <37032744+edmondchuc@users.noreply.github.com>
Adds a terminology section to the UI specification.
Closes #645